1. Field of the Invention
The present invention broadly relates to a fast Fourier transform calculating apparatus and a fast Fourier transform calculating method. More particularly, the invention relates to a fast Fourier transform calculating apparatus and a fast Fourier transform calculating method, both of which are suitably used for performing modulation or demodulation according to an orthogonal frequency division multiplex (OFDM) method.
2. Description of the Related Art
FIG. 10 illustrates an example of a signal spectrum obtained by the OFDM method used in digital audio broadcasting (DAB). A fast Fourier transform (FFT) calculating apparatus performs demodulation in this DAB by converting input data at N points on a time axis to data at the N points on a frequency axis. On the other hand, an inverse fast Fourier transform (IFFT) calculating apparatus performs modulation in the DAB by converting input data at N points on a frequency axis to data at the N points on a time axis. When the index of each data item on the time axis ranges from 0 to (N-1), the index 0 of the data on the frequency axis corresponds to the angular frequency 0, and the index (N-1) of the data on the frequency axis corresponds to the angular frequency 2.pi. (1-1/N). According to the above correspondence between the index of data and the angular frequency, it is specified that the frequency domain ranges from 0 to 2.pi..
FIG. 11 illustrates the relationship between the input data and the output data of the FFT calculating apparatus in accordance with the frequency domain specified above. The FFT calculating apparatus performs FFT calculation on the data at the N points on the time axis, as indicated by the upper portion of FIG. 11, thereby outputting the data at the N points on the frequency axis, as indicated by the lower portion of FIG. 11. Strictly speaking, the frequency domain of the data at the N points on the frequency axis ranges from 0 to 2.pi. (1-1/N). It is, however, specified to range from 0 to 2.pi., as noted above.
Similarly, FIG. 12 illustrates the relationship between the input data and the output data of the IFFT calculating apparatus. The IFFT calculating apparatus performs IFFT calculation on the input data at the N points on the frequency axis, as indicated by the upper portion of FIG. 12, thereby outputting the data at the N points on the time axis, as indicated by the lower portion of FIG. 12. In the IFFT calculation, as well as in the above-described FFT calculation, the frequency domain of the data at the N points on the frequency axis ranges from 0 to 2.pi..
In this manner, the frequency domain of the output data of the FFT calculating apparatus and the frequency domain of the input data of the IFFT calculating apparatus generally range from 0 to 2.pi..
FIG. 13 illustrates an example of a signal spectrum obtained by the OFDM method used in digital video broadcasting-terrestrial (DVB-T), which is one of the digital video broadcasts. Unlike the FFT calculating apparatus and the IFFT calculating apparatus used in the foregoing DAB, in the FFT calculating apparatus and the IFFT calculating apparatus employed in this DVB-T, the frequency domain ranging from 0 to 2.pi. of the output data of the FFT calculating apparatus and the frequency domain of the input data of the IFFT calculating apparatus are sometimes converted to a range from -.pi. to .pi..
FIG. 14 illustrates the relationship between the input data and the output data of the FFT calculating apparatus when the frequency domain ranging from 0 to 2.pi. of the output data of the FFT calculating apparatus is converted to a range from -.pi. to .pi.. The FFT calculating apparatus performs FFT calculation on the input data at the N points on the time axis, as represented by the upper portion of FIG. 14, thereby outputting the data at the N points on the frequency axis, as represented by the lower portion of FIG. 14. The frequency domain of the output data at the N points on the frequency axis ranges from -.pi. to .pi..
Likewise, FIG. 15 illustrates the relationship between the input data and the output data of the IFFT calculating apparatus when the frequency domain ranging from 0 to 2.pi. of the input data of the IFFT calculating apparatus is converted to a range from -.pi. to .pi.. The IFFT calculating apparatus performs IFFT calculation on the data at the N points in the frequency domain from -.pi. to .pi. on the frequency axis, as indicated by the upper portion of FIG. 15, thereby outputting the data at the N points on the time axis, as indicated by the lower portion of FIG. 15.
In this manner, it may be necessary to convert the frequency domain of the output data of the FFT calculating apparatus or the input data of the IFFT calculating apparatus according to the intended purpose of use. The conversion of the frequency domain ranging from 0 to 2.pi. to the range from -.pi. to .pi. may be achieved by using the following type of circuitry. In this circuitry, data concerning the frequency domain from 0 to 2.pi. used in the output data of the FFT calculating apparatus or the input data of the IFFT calculating apparatus is temporarily stored, and the index of the frequency domain data is sequentially shifted to a range from (N/2) to (N-1) and a range from 0 to (N/2-1), thereby outputting the resulting data. The amount of data treated in the FFT calculation or IFFT calculation is determined to be one symbol. According to the above-described shifting operation, the frequency data is rotated by an amount equivalent to a half symbol. This is referred to as "half-symbol rotation".
FIG. 16 illustrates an example of the configuration of a FFT calculating apparatus 40 provided with the above-described circuitry for converting the frequency domain. According to this configuration, input data is temporarily stored in an input buffer memory 7 and then input into a memory 4 (may be input into a butterfly calculator 3 if necessary). The butterfly calculator 3 performs butterfly calculation on the data input from the memory 4 (may be from the input buffer memory 7) by using rotation operator data supplied from a sin/cos generator 5, thereby outputting the calculated data to the memory 4 (may be to an output buffer memory 8 if necessary). The memory 4 then outputs the data calculated by the butterfly calculator 3 to the output buffer memory 8.
The output buffer memory 8 temporarily stores the final data of the FFT calculating apparatus 40 and then outputs it to a half-symbol rotator 30. At this time, the frequency domain of the output data ranges from 0 to 2.pi.. The output data is supplied to the half-symbol rotator 30, which then temporarily stores, as illustrated in FIG. 17, the data and performs half-symbol rotation on the data. Accordingly, the frequency domain ranging from 0 to .pi. of the output data of the output buffer memory 8 is converted to a range from -.pi. to .pi..
In an IFFT calculating apparatus 50, a half-symbol rotator 31 is provided, as shown in FIG. 18, prior to the input buffer memory 7. The input data having a frequency domain from -.pi. to .pi. is first rotated, as illustrated in FIG. 19, by an amount equal to a half symbol by the half-symbol rotator 31, and is then converted to a range from 0 to 2.pi.. The resulting data having the converted frequency domain is supplied to the IFFT calculating apparatus 50.
According to the above-described configuration of the FFT calculating apparatus 40 or the IFFT calculating apparatus 50, the frequency domain of the output data of the FFT calculating apparatus 40 or the frequency domain of the input data of the IFFT calculating apparatus 50 is converted.
In the foregoing FFT calculating apparatus or the IFFT calculating apparatus, however, the addition of an external circuit for converting the frequency domain disadvantageously increases the scale of the circuitry.